function imageBit = myImageBitPlaneSlicing(img)
% 用于比特平面分层
% img：一幅m×n×1的8比特图像;
% imageBit：一个m×n×i (i = 1, 2, …, 8)的矩阵，第i个通道上存储第i阶比特平面图像

img_double = double(img);
[r c] = size(img_double);
imageBit = zeros(r,c,8);
% 遍历每一个像素点，将其值转换为8位2进制字符串，然后提取转型并赋值到对应比特平面
for row = 1 : r
    for col = 1 : c
        % 将灰度级转为8位2进制字符串
        bin_str = dec2bin(img_double(row, col),8);
        for i = 1 : 8
            % 提取对应位置的字符，转型后赋值到对应平面的对应位置
            digit = str2double(bin_str(i));
            imageBit(row,col,9-i) = digit;
        end
    end
end
imageBit = uint8(imageBit);
